x86/IRQ: bail early from irq_guest_eoi_timer_fn() when nothing is in flight
authorJan Beulich <jbeulich@suse.com>
Thu, 6 Jun 2019 14:04:53 +0000 (16:04 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 6 Jun 2019 14:04:53 +0000 (16:04 +0200)
commita646da4a3d96b7666a3ed99521f1e64dbedf19f9
treea6360c60cae5588d1b29c4d7593f9cf7e14ce450
parent359cf6f8a0eccca3bd48624dbc8abd3da44dcf20
x86/IRQ: bail early from irq_guest_eoi_timer_fn() when nothing is in flight

There's no point entering the loop in the function in this case. Instead
there still being something in flight _after_ the loop would be an
actual problem: No timer would be running anymore for issuing the EOI
eventually, and hence this IRQ (and possibly lower priority ones) would
be blocked, perhaps indefinitely.

Issue a warning instead and prefer breaking some (presumably
misbehaving) guest over stalling perhaps the entire system.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/irq.c